#ifndef AIRPORT_H_
#define AIRPORT_H_

#include <vector>
#include <string>
#include <iterator>
#include "Aircraft.h"
#include "Runway.h"


class Airport
{
	private:
		/// name of this airport
		char airportName[20];
		
		/// x position of this airport on the map
		int x;
		
		/// y position of this airport on the map
		int y;
		
		/// radar range of this airport
		int range;
		
		/// capacity of this airport (number of airplanes which it can get in)
		int capacity; 
		
		/// number of runways
		int runwaysNum;
		
		/// state of this airport
		int state;
		
		/// consists of the whole aircrafts which in range of airport
		std::vector<Aircraft> aircraftVector;
		
		/// list of runways of the airport
		std::vector<Runway> runwaysVector;
	public:
		/// creates dummy airport - probably useless
		Airport();
		
		/// constucts airport
		Airport(char aName[20], int iks, int igrek, int ran, int cap, int rnways, int st);
		
		/// destroy airport
		virtual ~Airport();
		
		void addAircraft(Aircraft a);
		void printInfo();
		char *getName();
		void showAircraftsList();
		int getAircraftsNumber();
		void deleteAircraft(char nam[20]);
		void addRunway(Runway r);
		void showRunwaysStatus();
		Aircraft getAircraftStructure(int number);
		Runway getRunwayStructure(int number);
};

#endif /*AIRPORT_H_*/
